package GestorEquipos;

import Interfaz.InterfazEquipo;
import GestorJugadores.Jugador;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JFrame;


/**
 * @author ihssan
 * @version 1.0
 * @created 27-mar-2013 14:56:25
 */
public class Equipo {

	private Categoria categoria;
	private Character genero;
	private Integer idEquipo;
	private String NombreEquipo;
	//private Map <Integer, Jugador> plantilla = new HashMap<Integer, Jugador>();
        private Boolean Estado;

	public Equipo(){            
            NombreEquipo = new String();
	}

	public void finalize() throws Throwable {

	}

	/**
	 * 
	 * @param e
	 */
	public Equipo(String e, String newCategoria, Character gen, Boolean estado){
            NombreEquipo = e;
            Estado = estado;
            genero = gen;
            
            if (newCategoria.equals("Benjamin"))
                this.categoria = Categoria.Benjamin;            
           
            else if (newCategoria.equals("Alevin"))
                this.categoria = Categoria.Alevin;
            
            else if (newCategoria.equals("Infantil")) 
                this.categoria = Categoria.Infantil;
            
            else if (newCategoria.equals("Cadete"))
                this.categoria = Categoria.Cadete;
            
            else if (newCategoria.equals("Junior"))
                this.categoria = Categoria.Junior;
            idEquipo = -1;
	}

	public Boolean add(){
		return false;
	}

	/**
	 * 
	 * @param dorsal
	 * @param jugador
	 */
	public Boolean aniadirJugador(Integer dorsal, Jugador jugador){
            return false;
	}

	public Boolean delete(){
		return false;
	}

	public String getCategoria(){
            if (this.categoria.toString() == Categoria.Benjamin.toString())
                return "Benjamin";
            else if (this.categoria.toString() == Categoria.Alevin.toString())
                return "Alevin";
            else if (this.categoria.toString() == Categoria.Infantil.toString())
                return "Infantil";
            else if (this.categoria.toString() == Categoria.Cadete.toString())
                return "Cadete";
            else
                return "Junior";
	}

	/**
	 * 
	 * @param nom
	 * @param categ
	 */
	public Equipo getEquipo(String nom, Categoria categ){
		return null;
	}
        
        public Boolean getEstado() {
            return Estado;
        }

	public String getGenero(){
            if (genero == 'M') return "M";
            else return "F";
	}

	public Integer getIdEquipo(){
		return idEquipo;
	}

	public String getNombre(){
		return NombreEquipo;
	}
        
        


	/**
	 * 
	 * @param dorsal
	 */
	public Boolean quitarJugador(Integer dorsal){
            return false;
	}

	/**
	 * 
	 * @param categoria
	 */
	public void setCategoria(String newCategoria){
            if (newCategoria.equals("Benjamin"))
                this.categoria = Categoria.Benjamin;            
           
            else if (newCategoria.equals("Alevin"))
                this.categoria = Categoria.Alevin;
            
            else if (newCategoria.equals("Infantil")) 
                this.categoria = Categoria.Infantil;
            
            else if (newCategoria.equals("Cadete"))
                this.categoria = Categoria.Cadete;
            
            else if (newCategoria.equals("Junior"))
                this.categoria = Categoria.Junior;
	}

	/**
	 * 
	 * @param genero
	 */
	public void setGenero(String newGenero){
            if (newGenero == "M")
                genero = 'M';
            else 
                genero = 'F';
	}

        public void setEstado(Boolean valor) {
            Estado = valor;
        }
	/**
	 * 
	 * @param nombre
	 */
	public void setNombre(String newNombre){
		NombreEquipo = newNombre;
	}

        public void setIdEquipo(Integer idEquipo) {
            this.idEquipo = idEquipo;
        }
                

	/**
	 * 
	 * @param nom
	 * @param plantilla
	 * @param categ
	 * @param genero
	 */
	public Boolean updateEquipo(String nom, Map<Integer, Jugador> plantilla, Categoria categ, Character gen){
            NombreEquipo = nom;
            categoria = categ;
            genero = gen;
            return true;
	}
        
        
                public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(InterfazEquipo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(InterfazEquipo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(InterfazEquipo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(InterfazEquipo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                JFrame frame = new javax.swing.JFrame("Equipo");
                frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
                InterfazEquipo interfaz=new InterfazEquipo();
                frame.getContentPane().add(interfaz);
                frame.pack();
                frame.setVisible(true);
                //interfaz.set_Editable(false);
            }
        });
    }

  
}
